package com.gxa.common.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;

@Data
@AllArgsConstructor
@NoArgsConstructor
@ApiModel(value = "用户信息Vo表")
@JsonIgnoreProperties(value={"hibernateLazyInitializer","handler","fieldHandler"})
public class UserVo {
    @ApiModelProperty(name = "id",notes = "用户ID",dataType = "Integer",required = false)
    private Integer id;
    @ApiModelProperty(name = "username",notes = "用户登录用名称（长度6-20）",dataType = "String",required = true)
    private String username;
    @ApiModelProperty(name = "nickname",notes = "用户昵称（长度6-20）",dataType = "String",required = true)
    private String nickname;
    @ApiModelProperty(name = "realName",notes = "用户真实名称（1-20)",dataType = "String",required = true)
    private String realName;
    @ApiModelProperty(name = "sex",notes = "用户性别 0女 1男",dataType = "Byte",required = true)
    private Byte sex;
    @ApiModelProperty(name = "identityNum",notes = "用户身份证号码",dataType = "String",required = true)
    private String identityNum;
    @ApiModelProperty(name = "password",notes = "用户的登录密码（长度6-20）",dataType = "String",required = false)
    private String password;
    @ApiModelProperty(name = "roleId",notes = "角色ID，应该有默认角色",dataType = "Integer",required = true)
    private Integer roleId;
    @ApiModelProperty(name = "roleName",notes = "用户角色",dataType = "String",required = false)
    private String roleName;
    @ApiModelProperty(name = "occupationId",notes = "在院职位，职位ID",dataType = "Integer",required = true)
    private Integer occupationId;
    @ApiModelProperty(name = "occupationName",notes = "用户职位",dataType = "String",required = false)
    private String occupationName;
    @ApiModelProperty(name = "birthday",notes = "用户生日",dataType = "String",required = false)
    private String birthday;
    @ApiModelProperty(name = "phoneNum",notes = "用户联系电话",dataType = "String",required = false)
    private String phoneNum;
    @ApiModelProperty(name = "degree",notes = "学历",dataType = "String",required = false)
    private String degree;
    @ApiModelProperty(name = "graduateSchool",notes = "毕业院校",dataType = "String",required = false)
    private String graduateSchool;
    @ApiModelProperty(name = "bankAcount",notes = "银行卡卡号",dataType = "String",required = false)
    private String bankAcount;
    @ApiModelProperty(name = "departmentId",notes = "所属部门的ID",dataType = "Integer",required = true)
    private Integer departmentId;
    @ApiModelProperty(name = "departmentName",notes = "用户部门",dataType = "String",required = false)
    private String departmentName;
    @ApiModelProperty(name = "salary",notes = "工资",dataType = "BigDecimal",required = false)
    private BigDecimal salary;
    @ApiModelProperty(name = "joinTime",notes = "入职时间",dataType = "Timestamp",required = false)
    private String joinTime;
    @ApiModelProperty(name = "color",notes = "皮肤ID，默认为1",dataType = "Integer",required = false)
    private Integer color;
    @ApiModelProperty(name = "colorName",notes = "皮肤名",dataType = "String",required = true)
    private String colorName;
    @ApiModelProperty(name = "address",notes = "详细地址",dataType = "String",required = false)
    private String address;
    @ApiModelProperty(name = "email",notes = "邮箱地址",dataType = "String",required = false)
    private String email;
    @ApiModelProperty(name = "status",notes = "是否禁用0,不禁用，1禁用",dataType = "Byte",required = false)
    private Byte status;
    @ApiModelProperty(name = "img",notes = "头像图片路径",dataType = "String",required = false)
    private String img;
    @ApiModelProperty(name = "createTime",notes = "创建时间",dataType = "String",required = false)
    private String createTime;
    @ApiModelProperty(name = "updateTime",notes = "更新时间",dataType = "String",required = false)
    private String updateTime;
    @ApiModelProperty(name = "idDeleted",notes = "是否删除",dataType = "Byte",required = false)
    private Byte isDeleted;
    @ApiModelProperty(name = "isUpdatePwd",notes = "是否重置密码(0重置，1不重置)",dataType = "Byte",required = false)
    private Byte isUpdatePwd;
    @ApiModelProperty(name = "salt",notes = "用户的盐值",dataType = "String",required = false)
    private String salt;


}
